home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / sosmfnct.h < prev    next >
C/C++ Source or Header  |  1995-02-05  |  7KB  |  168 lines

  1. /****************************************************************************
  2.  
  3.    File              : sosmfnct.h
  4.  
  5.    Programmer(s)     : Don Fowler, Nick Skrepetos
  6.    Date              :
  7.  
  8.    Purpose           : Include Files For Zortech C++ Compiler
  9.  
  10.    Last Updated      :
  11.  
  12. ****************************************************************************
  13.                Copyright(c) 1993,1994 Human Machine Interfaces 
  14.                             All Rights Reserved
  15. ****************************************************************************/
  16.  
  17. #ifndef  _SOS_MIDI_FUNCTIONS
  18. #define  _SOS_MIDI_FUNCTIONS
  19.  
  20. #pragma pack(4)
  21.  
  22. VOID interrupt far sosMIDITimerHandler (  VOID  );
  23. WORD  sosMIDILockMemory                (  VOID  );
  24. WORD  sosMIDIUnLockMemory              (  VOID  );
  25. WORD  sosMIDIGetDeviceCaps             (  WORD, LPSOSMIDIDEVICECAPS  );
  26. WORD  sosMIDIInitSystem                (  LPSTR, WORD  );
  27. WORD  sosMIDIUnInitSystem              (  VOID  );
  28. WORD  sosMIDIInitDriver                (  WORD, _SOS_MIDI_HARDWARE far *,
  29.                                          _SOS_MIDI_INIT_DRIVER far *, WORD far *  );
  30. WORD  sosMIDIUnInitDriver              (  WORD, BOOL  );
  31. WORD  sosMIDILoadDriver                (  WORD, WORD, LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
  32. WORD  sosMIDIUnLoadDriver              (  WORD  );
  33. WORD  sosMIDIInitSong                  (  _SOS_MIDI_INIT_SONG far *,
  34.                                           _SOS_MIDI_TRACK_DEVICE far *,
  35.                                           WORD far * );
  36. WORD  sosMIDIUnInitSong                (  WORD  );
  37. WORD  sosMIDIResetSong                 (  WORD, _SOS_MIDI_INIT_SONG far *  );
  38. WORD  sosMIDIStartSong                 (  WORD  );  
  39. WORD  sosMIDIStopSong                  (  WORD  );  
  40. WORD  sosMIDIPauseSong                 (  WORD, WORD  );
  41. WORD  sosMIDIMuteSong                  (  WORD  );
  42. WORD  sosMIDIUnMuteSong                (  WORD  );
  43. WORD  sosMIDIResumeSong                (  WORD  );
  44. BOOL  sosMIDISongDone                  (  WORD  );  
  45. WORD  sosMIDISongAlterTempo            (  WORD, WORD  );  
  46. WORD  sosMIDIGetDeltaTime              (  LPSTR, DWORD far *  );
  47. WORD  sosMIDISongGetTimeToPlay         (  WORD  );  
  48. BYTE _huge * sosMIDINormalizePtr       (  BYTE _huge *  );
  49. WORD  sosMIDISetInsData                (  WORD, LPSTR, WORD  );
  50. WORD  sosMIDIResetDriver               (  WORD  );
  51. BOOL  sosMIDIHandleMIDIData            (  WORD, LPSTR, WORD, WORD  );
  52. WORD  sosMIDISendMIDIData              (  WORD, LPSTR, WORD  );
  53. // NEW
  54. VOID  sosMIDISetTrackState             (  WORD, WORD, WORD  );
  55. // END
  56.  
  57. // compiled in drivers function interface
  58. LPSTR digiGetCallTable                 (  VOID  );
  59. LPSTR callbackGetCallTable             (  VOID  );
  60. LPSTR aweGetCallTable                  (  VOID  );
  61.  
  62. WORD cdecl far callbackSendData             (  LPSTR, WORD, WORD  );
  63. WORD cdecl far callbackInit                 (  LPSTR, WORD, WORD  );
  64. WORD cdecl far callbackUnInit               (  LPSTR, WORD, WORD  );
  65. WORD cdecl far callbackReset                (  LPSTR, WORD, WORD  );
  66. WORD cdecl far callbackSetInstrumentData    (  LPSTR, WORD, WORD  );
  67.  
  68. WORD cdecl far aweSendData             (  LPSTR, WORD, WORD  );
  69. WORD cdecl far aweInit                 (  LPSTR, WORD, WORD  );
  70. WORD cdecl far aweUnInit               (  LPSTR, WORD, WORD  );
  71. WORD cdecl far aweReset                (  LPSTR, WORD, WORD  );
  72. WORD cdecl far aweSetInstrumentData    (  LPSTR, WORD, WORD  );
  73.  
  74. // function prototypes
  75. WORD cdecl far digiSendData             (  LPSTR, WORD, WORD  );
  76. WORD cdecl far digiInit                 (  LPSTR, WORD, WORD  );
  77. WORD cdecl far digiUnInit               (  LPSTR, WORD, WORD  );
  78. WORD cdecl far digiReset                (  LPSTR, WORD, WORD  );
  79. WORD cdecl far digiSetInstrumentData    (  LPSTR, WORD, WORD  );
  80.  
  81. LPSTR waveGetCallTable                 (  VOID  );
  82. WORD cdecl far waveSendData             (  LPSTR, WORD, WORD  );
  83. WORD cdecl far waveInit                 (  LPSTR, WORD, WORD  );
  84. WORD cdecl far waveUnInit               (  LPSTR, WORD, WORD  );
  85. WORD cdecl far waveReset                (  LPSTR, WORD, WORD  );
  86. WORD cdecl far waveSetInstrumentData    (  LPSTR, WORD, WORD  );
  87. VOID cdecl far waveSampleCallback(  WORD, WORD, WORD  );
  88.  
  89. VOID        digiQueueInit           (  WORD, WORD  );
  90. VOID        digiQueueUnInit         (  WORD  );
  91. WORD        digiQueueAddItem        (  WORD, WORD, WORD, WORD, WORD );
  92. WORD        digiQueueGetItem        (  WORD, WORD  );
  93. WORD        digiQueueGetItemWAVE    (  WORD  );
  94. WORD        digiQueueDeleteItem     (  WORD, WORD  );
  95. WORD        digiQueueDeleteItemWAVE (  WORD, WORD  );
  96. WORD        digiQueueDeleteItemMIDI (  WORD, WORD, WORD  );
  97. WORD        digiQueueFindItemMIDI   (  WORD, WORD, WORD  );
  98.  
  99. // function prototypes
  100. VOID cdecl far digiSampleCallback(  WORD, WORD, WORD  );
  101.  
  102. WORD        sosMIDIRegisterBranchFunction (  WORD, WORD ( far * )( WORD, BYTE, BYTE )  );
  103. WORD        sosMIDIRegisterLoopFunction   (  WORD, WORD ( far * )( WORD, BYTE, BYTE, BYTE )  );
  104. WORD        sosMIDIRegisterTriggerFunction(  WORD, BYTE, WORD ( far * )( WORD, BYTE, BYTE ) );
  105. WORD        sosMIDIBranchToTrackLocation  (  WORD, BYTE, BYTE  );
  106. WORD        sosMIDIBranchToSongLocation   (  WORD, BYTE  );
  107.  
  108. #ifdef __cplusplus
  109. extern "C" {
  110. #endif
  111.  
  112. extern   void  cdecl sosMIDIDRVGetCapsInfo( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * );
  113. extern   void  cdecl sosMIDIDRVGetCapsPtr ( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * );
  114. extern   void  cdecl sosMIDIDRVGetFuncsPtr( LPSTR, LPSTR, LPSTR );
  115. extern   LPSTR cdecl sosMIDIDRVSpecialFunction( LPSTR, LPSTR, WORD );
  116. extern   WORD cdecl xgetES( void );
  117.  
  118. #ifdef __cplusplus
  119. }
  120. #endif 
  121.  
  122. BOOL sosMIDIResetChannelStealing (  WORD  );
  123. WORD sosMIDIEnableChannelStealing(  WORD  );
  124. VOID far sosMIDISongHandler( VOID );
  125.  
  126. WORD sosMIDISetMT32InsData       (  WORD, LPSTR, WORD  );
  127. WORD sosMIDISetMasterVolume      (  BYTE  );
  128. VOID far sosMIDIMT32Timer        (  VOID  );
  129.  
  130. WORD sosMIDISetSongVolume        (  WORD, BYTE  );
  131. WORD        sosMIDIFadeSong            (  WORD, WORD, WORD, BYTE, BYTE, WORD  );       
  132.  
  133. // functions for memory locking
  134. VOID  sosMIDICaps_Start( VOID );
  135. VOID  sosMIDICaps_End( VOID );
  136. VOID  sosMIDICbck_Start( VOID );
  137. VOID  sosMIDICbck_End( VOID );
  138. VOID  sosMIDIDigi_Start( VOID );
  139. VOID  sosMIDIDigi_End( VOID );
  140. VOID  sosMIDIDone_Start( VOID );
  141. VOID  sosMIDIDone_End( VOID );
  142. VOID  sosMIDIDq_Start( VOID );
  143. VOID  sosMIDIDq_End( VOID );
  144. VOID  sosMIDIInit_Start( VOID );
  145. VOID  sosMIDIInit_End( VOID );
  146. VOID  sosMIDIIns_Start( VOID );
  147. VOID  sosMIDIIns_End( VOID );
  148. VOID  sosMIDILoad_Start( VOID );
  149. VOID  sosMIDILoad_End( VOID );
  150. VOID  sosMIDIPause_Start( VOID );
  151. VOID  sosMIDIPause_End( VOID );
  152. VOID  sosMIDIPtr_Start( VOID );
  153. VOID  sosMIDIPtr_End( VOID );
  154. VOID  sosMIDISong_Start( VOID );
  155. VOID  sosMIDISong_End( VOID );
  156. VOID  sosMIDISt_Start( VOID );
  157. VOID  sosMIDISt_End( VOID );
  158. VOID  sosMIDITmpo_Start( VOID );
  159. VOID  sosMIDITmpo_End( VOID );
  160. VOID  sosMIDITmr_Start( VOID );
  161. VOID  sosMIDITmr_End( VOID );
  162.  
  163. void     StringOut( BYTE X, BYTE Y, BYTE * String, BYTE Color );
  164.  
  165. #pragma pack()
  166.  
  167. #endif
  168.